feat(middleware): implement blockchain module #409
Merged
A6dulmalik merged 1 commit intoMindBlockLabs:mainfrom Mar 28, 2026
Merged
feat(middleware): implement blockchain module #409A6dulmalik merged 1 commit intoMindBlockLabs:mainfrom
A6dulmalik merged 1 commit intoMindBlockLabs:mainfrom
Conversation
…s#307, MindBlockLabs#308, MindBlockLabs#309, MindBlockLabs#310 Issue MindBlockLabs#307 — Configure BlockchainModule and export BlockchainService: - Add BlockchainModule registering all four Soroban providers - BlockchainService exposes passthrough methods for all contract interactions - Imports ConfigModule; reads STELLAR_SECRET_KEY, STELLAR_CONTRACT_ID, STELLAR_RPC_URL, STELLAR_NETWORK_PASSPHRASE from environment Issue MindBlockLabs#308 — Stellar wallet linking and on-chain player registration: - RegisterPlayerProvider calls `register_player` on Soroban after wallet link - LinkWalletProvider implements ORM-agnostic link-wallet business logic: validates Stellar address, checks for duplicate wallet, persists wallet, then fires registerPlayerOnChain non-blocking Issue MindBlockLabs#309 — submitPuzzleOnChain after correct answer: - SubmitPuzzleProvider calls `submit_puzzle` with normalized 0-100 score - SyncXpMilestoneProvider calls `sync_xp_milestone` on level-up events Issue MindBlockLabs#310 — Streak reconciliation with smart contract: - SyncStreakProvider calls `sync_streak` (gated behind STREAK_SYNC_ENABLED) - Feature flag prevents runtime errors while contract Issue MindBlockLabs#2 is pending - All blockchain calls are non-blocking and wrapped in try/catch
|
@Tinna23 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
A6dulmalik
approved these changes
Mar 28, 2026
Member
A6dulmalik
left a comment
There was a problem hiding this comment.
Neatly delivered as required
Thanks for your contribution.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements all four Stellar Wave blockchain issues entirely within the middleware/ package at the repo root, adding a new middleware/src/blockchain/ module.
Adds stellar-sdk and @nestjs/config to middleware/package.json.
No changes made to the backend/ folder.
Issue #307 — Configure BlockchainModule and export BlockchainService:
Issue #308 — Stellar wallet linking and on-chain player registration:
register_playeron Soroban after wallet linkIssue #309 — submitPuzzleOnChain after correct answer:
submit_puzzlewith normalized 0-100 scoresync_xp_milestoneon level-up eventsIssue #310 — Streak reconciliation with smart contract:
sync_streak(gated behind STREAK_SYNC_ENABLED)Closes #307
Closes #308
Closes #309
Closes #310